// 知识点：可以把表单校验规则抽取出来，需要什么规则再inport，方便复用

// 知识点【TS类型】：FieldRule是vant中定义的表单校验规则类型，可以鼠标悬停在vant表单元素的:rules上，查看其类型定义并复制过来使用，有了类型就可以
// 出类型提示
import type { FieldRule } from 'vant'

const phoneRule: FieldRule[] = [
  { required: true, message: '请填写手机号' },
  { pattern: /^1[2-9]\d{9}$/, message: '手机号格式不正确' },
]
const codeRule: FieldRule[] = [{ required: true, message: '请填写验证码' }]
const passwordRule: FieldRule[] = [{ required: true, message: '请填写密码' }]

// 名字
const nameRule: FieldRule[] = [
  { required: true, message: '请填写姓名' },
  {
    pattern: /^[\u4e00-\u9fa5]{2,10}$/,
    message: '姓名格式不正确',
  },
]
// 身份证号
const idCardRule: FieldRule[] = [
  { required: true, message: '请填写身份证号' },
  {
    pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
    message: '身份证号码格式不正确',
  },
]

export { phoneRule, passwordRule, codeRule, nameRule, idCardRule }
